/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.gob.pnp.despachadores;

import java.util.*;
import pe.gob.pnp.actions.*;
import java.sql.*;
import oracle.jdbc.OracleTypes;
import pe.gob.pnp.factories.ConnectionPool;

/**
 *
// * @author Gregorovichz Carlos Rossi
 */
public class AscensoPersonalDespachador {

    public static List<AscensosPersonal> obtenerAscensos(int nperscodigo) throws SQLException {
        List<AscensosPersonal> lstAscensos = new ArrayList<AscensosPersonal>();
        Connection conn = null;
        try {
            conn = ConnectionPool.obtenerConexion();
            String sql = "{call SP_OBTENER_ASCENSOS(?,?)}";
            CallableStatement cs = conn.prepareCall(sql);
            cs.setInt(1, nperscodigo);
            cs.registerOutParameter(2, OracleTypes.CURSOR);
            cs.execute();
            ResultSet rs = (ResultSet) cs.getObject(2);
            while (rs.next()) {
                AscensosPersonal ascenso = new AscensosPersonal();
                ascenso.setNhias_identificador(rs.getInt("NHIAS_IDENTIFICADOR"));
                ascenso.setNpepo_identificador(rs.getInt("NPEPO_IDENTIFICADOR"));
                ascenso.setNhias_anio(rs.getString("NHIAS_ANIO"));
                ascenso.setNgrad_identificador(rs.getInt("NGRAD_IDENTIFICADOR"));
                ascenso.setDhias_fechaascenso(rs.getDate("DHIAS_FECHAASCENSO"));
                ascenso.setCpers_nombre(rs.getString("CPERS_NOMBRE"));
                ascenso.setCpers_apepaterno(rs.getString("CPERS_APEPATERNO"));
                ascenso.setCpers_apematerno(rs.getString("CPERS_APEMATERNO"));
                ascenso.setCgrad_descripcion(rs.getString("CGRAD_DESCRIPCION"));
                ascenso.setBhias_eliminado(rs.getBoolean("BHIAS_ELIMINADO"));
                ascenso.setBhias_activo(rs.getBoolean("BHIAS_ACTIVO"));
                lstAscensos.add(ascenso);
            }
        } finally {
            ConnectionPool.liberarConexion(conn);
        }
        return lstAscensos;
    }
}
